package test.generic;

public class GenericArray<T>{
    private Object[] array;
    public GenericArray(int size){
        array = new Object[size];
    }

    @SuppressWarnings("unchecked")
    public T get(int index){ return (T)array[index]; }

    public void put(int i,int j){
    	array[i] = j;
    }
    @SuppressWarnings("unchecked")
    public T[] rep(){
        return (T[])array;
    }

    public static void main(String[] args){
        GenericArray<Integer> gai = new GenericArray<Integer>(10);

        for(int i = 0; i < 10; i++)
            gai.put(i,i);

        for( int i = 0; i < 10; i ++)
            System.out.println(gai.get(i)+"");

        // ClassCastException
//         Integer[] ia = (Integer[])gai.rep();
    }
}